Google Apps Script HTML
おもったより、結構なことができる。
htmlの出力ができる。
HTMLファイル(例 index.html) をメニューから作成して、
htmlOutput Object(sanitizeしたhtml(text?))を返せばよい. doGet(), doPost()で。
例: function doGet() return HtmlService.createHtmlOutputFromFile('Index'); すれば良い。
doGet(), doPost()で、get, post(http request)受け付ける
urlは、GAS側で決められる Hash値を含むurl
アクセス制限も、一般公開か、G Suiteのドメイン限定、作成者のみにできる。 cssなども、htmlファイルで書いておいて、templateで出力させればよい。
javascriptも動作させられる。
html側に書いたscriptは当然動く。
google.script.runを使う。
success, failの結果の処理もできる。
呼び出したserver側の関数の返り値も受け取れる
html側でのobjectを success, failure 側のcallback関数に渡すこともできる。9第二引数に)
通常の要件はこれでほぼカバーできそうな..
templateエンジン?もある。
such as PHP, ASP, or JSP, the syntax should feel familiar.
function doGet() return HtmlService.createTemplateFromFile('Index').evaluate();
scriptlet
standard: <? ?>
printing <?= ?>
force printing <?!= ... ?> : HTML を含んだoutputがある場合?
<?!= HtmlService.createHtmlOutputFromFile("form-css").getContent() ?>みたいな。cssやjsをhtmlとして読み込む出す場合。
制限
html上のlinkには、_topか _target を使う
httpsでloadする(これは、他でもそう)
参考:
この partが参考になる
前半の5分ほどしかみてないけど、複数ページの使い方が参考になる。
routing処理の部分
htmlの差し替え例が乗ってる。
server側のHtmlOutpuを返す関数を呼んで, 呼ぶtemplateファイルの中に定義した関数を onSuccessで実行するようにする。